System and method of estimating livestock weight

ABSTRACT

A system and method for estimating livestock weight is described. Embodiments of the system can include a computing device and a three-dimensional tag configured to be secured to an animal. One or more images of an animal, including the three-dimensional tag, can be processed to take various measurements of the animal. A scaling factor for the measurements can be based on the three-dimensional tag. After the measurement are calibrated, a weight of the animal can be estimated based on the calibrated measurements.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.62/581,987, filed Nov. 6, 2017.

BACKGROUND

Obtaining accurate weights for livestock is desirable in order to helpdetermine, for instance, (i) successful mating outcomes, (ii) weightgain on specific food rations, (iii) weight loss due to illness, and(iv) a myriad of other prognostications that are based upon weight andadjustments to weight. The industry is primarily reliant on mechanicalmeans to detect the weight of each individual animal. By utilizing loadcells in various sorts of scales, the weight of an animal can bedirectly or indirectly acquired by a livestock manager. The weighing ofeach individual animal in a herd on a scale can be both expensive andtime consuming requiring the transport of either the scale or eachanimal to the other. Uncooperative and lively animals can hinderaccurate data gathering. Weight tapes that measure girth or otherfeatures of a particular animal are also used to estimate its weight.While less expensive, this method can be dangerous, time consuming andis not always accurate.

Other technologies have been used or proposed to estimate the weight ofanimals within a herd but suffer from one or more shortcomings. LightDetection and Ranging (LiDar), which uses laser imaging to scan ananimal and develop a three-dimensional model that can be used toestimate animal weights has been tested. Unfortunately, LiDar devicesare expensive and require technical skill to setup and operate.

Photographic systems have been proposed as well wherein an animal isphotographed as it passes through the chute. Because the relativedistances of the camera to the animal are known and dimensionalreferences can be provided within the field of the photograph, dataderived from the photograph can be used to determine relativelyaccurately an animal's dimensions, which can be used to estimate weight.This process, however, requires funneling livestock through the chute,which can be nearly as time consuming and expensive as the use of aload-cell based scale of which the scale is generally more accurate.

Another proposed system uses a hand-held three-dimensional camera systemwhich includes the capability of calculating distances. The dimensionaldata from the 3D images can then be used to estimate weights. Thesystem, however, requires a specialized camera and requires an operatorto photograph all animals in a herd.

Finally, all of these systems require disturbance of the animal whichcan create stress and from time to time represents a potential danger toboth the animal and the handler. Avoiding stressful contact andunnecessary movement is a key to good animal husbandry.

A non-disturbing system that can calculate a weight of an animalremotely from the animal with high accuracy is needed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block of a livestock weight estimating system according toone embodiment of the present invention.

FIG. 2 is a block diagram of a control module of a livestock weightestimating system according to one embodiment of the present invention.

FIG. 3 is a detailed diagram a livestock weight estimating systemaccording to one embodiment of the present invention.

FIG. 4A is a detailed diagram of a three-dimensional object according toone embodiment of the present invention.

FIG. 4B is a detailed diagram of a three-dimensional object according toone embodiment of the present invention.

FIG. 5 is a flow chart of a livestock weight estimating processaccording to one embodiment of the present invention.

FIG. 6 is a flow chart of another livestock weight estimating processaccording to one embodiment of the present invention.

FIG. 7 is a detailed diagram of points-of-interest on livestockaccording to one embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention include a system and method ofestimating a weight of livestock. Typically, the system can include, butis not limited to, a three-dimensional object and a user device. Imagesof livestock captured by one or more camera devices can be accessible orobtainable by the user device. In some instances, the user device may bea device that includes a camera and digital storage for storing digitalimages captured by the camera. The user device can include a program orapplication configured to calculate an estimated weight of an animalbased on measurements taken from one or more images of a livestockanimal.

In one embodiment, technology similar to facial recognition software canbe implemented to take measurements between landmarks (e.g., shoulder,rear, ear, etc.) on the livestock. The measurements can then be used bythe program to calculate an estimated weight of the livestock. Ofsignificant note, the three-dimensional object can be coupled to thelivestock to provide a reference of known dimensions for the facialrecognition software. In one embodiment, the three-dimensional objectcan have a ring shape such that an image taken from different angleswill allow the facial recognition software to determine a diameter ofthe ring.

In another embodiment, one or more types of photogrammetry can beimplemented to generate a three-dimensional (3D) model of a livestockanimal from two or more two-dimensional (2D) images. For instance,stereophotogrammetry can include estimating three-dimensionalcoordinates of points on an animal by using measurements made in two ormore photographic images taken from different positions. Of note, byincluding the three-dimensional object, images take from differentdevices or angles can be calibrated to a substantially similar scale.

As can be appreciated, by implementing a ring (or perfectly round eartag) shaped three-dimensional tag, the diameter of the ring can alwaysbe measured regardless of what angle the ring is viewed from. Of note,no matter the skew, the diameter is able to be measured and seen fromany point where the ring can be seen. With the diameter of the ringbeing a known variable, the system can use the measurement as a basis todetermine all of the other measurables on the animal. Most other shapeswhen viewed at various angles will appear and measure shorter or longer.By keeping the design of the tag simple, the tag can serve as anumerical identifier, insecticide tag, etc.

In one embodiment, the three-dimensional object can be a disk. Inanother embodiment, the three-dimensional object can include at least acircular shape on the object. For instance, a substantially squareplanar shape may include a circular reference shape ingrained into theobject. Alternatively, a circular reference shape may be attached (e.g.,a sticker) to the object.

Embodiments of the present invention can include a system and a methodof estimating the weight of animals within a group of animals fromphotographs and videos. Unlike prior art camera-based weight estimatingsystems, embodiments of the present invention may not rely onphotographs taken using specialized cameras or photographs taken from aparticular location relative to an animal. The system and method canmake use of any photographs taken of a group of animals and even videoframes provided the images have suitable resolution. Of note, resolutionrequirements for photographs can typically be met by most, if not all,modern day phone cameras.

In one embodiment, the weight estimating system can include, but is notlimited to, a computer system using specific hardware and/or executingspecific software, and one or more three-dimensional tags. Embodimentsof the invention can also include methods of using the weight estimatingsystem to estimate the weight of individual animals and/or an entiregroup of animals. Embodiments of the weight estimating system canfurther be used in conjunction with still or video cameras. Thecamera(s) can be used to capture still or moving images of the animalsto be analyzed.

The specialized computer system including hardware and software can besimilar to computer systems used in facial recognition technology withimportant and significant differences.

In facial recognition systems, the relative distance or ratios betweenvarious features of a face are compared to previously collectedinformation in a database in an attempt to match the face being analyzedto a known person. Because facial recognition systems compare the ratiospertaining to the sizes of different features on the face, the actualsize of the features is unimportant and assuming sufficient resolution,they can work whether the subject person is relatively close to thecamera, relatively far away, or any distance in between.

In one instance, the weight estimating computer system can analyze videoand/or photographic images in a similar fashion as facial recognitionsystems in determining relative distances between points on a particularanimal. The weight estimating computer system may even use thisinformation to identify a particular animal from a database. However, byalso measuring the relative distance between two points on thethree-dimensional tag, which can be attached to the animal, the weightestimating computer system can determine the actual length between theidentified points on the animal. The measurements made by the weightestimating computer system can then be utilized by one or more softwarealgorithms to make mass (or weight) estimations.

The weight estimating computer system can include logic to estimateweight of an animal as well as a database for storing the acquired andcalculated data. Some embodiments of the computer system can includemodules that format and display the calculated weight information andpermit a user to create customized reports.

The three-dimensional tag can be any three-dimensional object adapted tobe attached to an animal. The three-dimensional tag can be attached tothe animal in a location where at least a side of the tag may be visiblefrom multiple angles or vantage points. For example, for many livestockanimals, the tag can be attached to an ear of the animal. Othervariations of the tag can be attached at other locations on an animal toensure the dimensional reference of the tag may be viewable from most,if not many, angles and sides from which an animal may be filmed orphotographed. In some embodiments, multiple tags can be placed on ananimal. The three-dimensional features of the tag or other device aresignificant enough to allow viewing from all directions, even in somecases from above via drone. In some variations, the tags can includespecific information that identifies the tag as unique. For instance,the tag may include a UPC symbol or QR code that visually identifies thetag and by association, the animal to which the tag is attached. In someembodiments, the tag can contain sensing technologies that are currentlyused or contemplated in such devices such as radio frequencyidentification tags (RFID sensing technology) or Bluetooth technology.

In some embodiments, one or more tattoos or branding marks could be usedas dimensional references, although it is to be appreciated that markson the skin or hide of an animal could change dimensionally with weightgain or loss.

To facilitate the estimation of a weight of an animal, video footageand/or photographs of the animal need to be obtained. To accomplishthis, any suitable video camera or photographic camera can be utilized.As can be appreciated, digital cameras are often preferred for the easein transferring the photographic data to the computer system. In oneembodiment, the cameras can be dedicated units mounted at strategiclocations in a feedlot to monitor and capture images of an animal or aherd thereof. In another embodiment, the camera can be a handheld unit(e.g., a smartphone) that a rancher can use to photograph or recordvideo of a herd in a pasture. The photographic data can be transferredto the computer system in real time, such as through a wired or wirelessconnection, or the data can be stored in a computer readable media to bedownloaded to the computer system at some future point in time.

Described hereinafter is one example method of implanting the previouslydescribed weight estimating computer system.

Initially, three-dimensional tags can be attached to each animal a usermay want a weight to be estimated for. The tags can be universal or thetags can be unique in configuration. Unique tags can be identified bythe specialized computer system to identify the particular animal towhich the tag is attached and associated. Each three-dimensional tag canhave known dimensions within predetermined tolerances so that the tagdata becomes the reference point for the determination of the associatedanimal's measurements.

Next, photographic images of the tag-bearing animal(s) to be weighed areobtained by any suitable means. In one variation, a rancher can videotape or photograph the animals the user is interested in estimating theweight for. Ideally, each of the animals to be “weighed” can be imagedfrom two or more vantage points where the three-dimensional tag is alsoin full view. In another variation, video or photographic cameras arepositioned in vantage points where animals, such as those in a herd,regularly pass. As the animals pass they can be photographed. Ideally,the photographic data is digitally rendered although variations arecontemplated wherein the photographic data is converted to a digitalformat in an additional operation such as scanning.

As necessary, the digital photographic data can be transferred to thecomputer system and converted to a form usable by the system.

In some variations, the software can automatically scan the providedfile(s) and identify each different animal shown in the photographicdata. Where the photographic data comprises a video, the system maycapture several representative still images for each animal from thevideo for use in calculating an estimated weight. The system maydetermine the identity of each particular animal by recognizing theunique characteristics of the animal, such as the size and placement ofvarious anatomical characteristics, colorations, hair whirls, brands ormarks on the animal. The system may reference previously storedinformation and associate the images with data concerning known animalsand generate new entries for animals not previously stored in thesystem.

In a less automated variation, an operator of the weight estimatingcomputer system may sort through the photographic data and associateimages with particular animals. Where the data comprises video, theoperator may identify a representative number of still frames for eachanimal the operator desires to have a weight estimated for. Theinformation may be stored in folders and/or in database entries for theparticular animal.

As can be appreciated the manner in which the photographic data isassociated with an animal can vary significantly as indicated by thepreceding examples. Ultimately, however, no manner the means ofassociating photographic data with a particular animal, the process ofestimating a weight of an animal can be similar.

The weight estimating computer system can identify relevant points in animage and then calculate the distances between the various points thanksto the presence in the images of at least a side of thethree-dimensional tag. By determining the length of an element of thetag in an image, the software can determine the length between variouspoints that were located a similar distance from the camera thatoriginally captured the image. The particular points identified by thesoftware will vary for different animals and the associated weightestimating algorithm.

Once the points have been identified, the computer system can run analgorithm to estimate a weight for the animal based on databaseinformation associating weight with certain dimensional parameters. Thecomplexity and accuracy of the algorithm can vary in differentembodiments. Some embodiments may utilize a more rudimentary algorithmto obtain a more general estimate of an animal's weight; whereas, otheralgorithms may utilize more points and distances there between to moreaccurately estimate weight. Some algorithms may take into account knowninformation about an animal, such as actual scale determined weights andknown dimensional parameters at the time of the scale weighing, to makeadjustments to the estimated weight and thereby improve accuracy.Advanced variations of the system may include an artificial intelligencecomponent wherein the system analyzes past results either for eachindividual animal or a collection of animals of the same type to modifythe algorithm for greater accuracy.

Once the weight(s) have been estimated, the information can be stored ina database, associated with particular animals, displayed in a chart orgraph, or used in any suitable fashion. For instance, the weightestimating computer system can include an analysis package or modulewith which an operator can look at the changes in a particular animalweight over time or the operator can look at the collective weightchanges for a herd of animals. In yet other variations, the system cancreate a data file for use with popular analysis programs, such as, forinstance, Microsoft Excel or Microsoft Access.

In one embodiment, an infrared camera can be implemented to obtainimages of the animal(s). For instance, the infrared camera can takeimages in the 750 nm-1 mm wavelength spectrum. As can be appreciated,this wavelength can penetrate most hair but reflect back off of the skinof an animal. In this manner, the system can potentially eliminate theissue of hair coat impacting a view of the carcass of an animal whenestimating weight.

In some embodiments, thermal imaging can be implemented to obtain imagesof animals. Data can be obtained from the thermal images to be used incalculating an estimated weight of the animal.

In some embodiments, varying anatomical differences combined with colorcan be used to accurately define a breed of most cattle. Determining abreed of the animal can eliminate some of the variations that a coat ofhair may likely impart when estimating a weight of a particular animal.For instance, by knowing the average hair length of different breedsdepending on temperate measures, that variable could be eliminated inthe weight measurements.

In one embodiment, a method for estimating a weight of an animal caninclude, but is not limited to, providing a three-dimensional objecthaving known dimensions where the three-dimensional object is a ringwith a substantially circular shape, attaching the three-dimensionalobject to a first animal, obtaining a plurality of images of the firstanimal with the three-dimensional object attached to the first animal,and processing the plurality of images. The step of processing caninclude, but is not limited to, identifying the three-dimensional objectand the first animal in a first image, measuring a diameter of thethree-dimensional object in the first image, calibrating dimensions ofthe first animal in the first image based on the three-dimensionalobject in the first image, identifying the three-dimensional object andthe first animal in a second image, measuring a diameter of thethree-dimensional object in the second image, calibrating dimensions ofthe first animal in the second image based on the three-dimensionalobject in the second image, constructing a first 3-D model representingthe first animal based on the calibrated dimensions of the first animalin the first image and the second image, and calculating a firstestimated weight of the first animal based on the first 3-D model of thefirst animal.

In another embodiment, the method for estimating a weight of an animalcan include, but is not limited to, providing a three-dimensional objecthaving known dimensions where the three-dimensional object being a ringwith a substantially circular shape, attaching the three-dimensionalobject to an animal, obtaining a first image and a second image of theanimal with the three-dimensional object attached to the animal wherethe first image being a side view and the second image being a top view,and processing the images. The step of processing can include, but isnot limited to, determining a location of the three-dimensional objectin the first image, determining a diameter of the three-dimensionalobject in the first image, determining a first set of points-of-intereston the animal in the first image, measuring distances between predefinedpairs of the first set of points-of-interest in the first image, scalingthe measurements based on the known dimensions of the three-dimensionalobject in the first image, determining a location of thethree-dimensional object in the second image, determining a diameter ofthe three-dimensional object in the second image, determining a secondset of points-of-interest on the animal in the second image, measuringdistances between predefined pairs of the second set ofpoints-of-interest in the second image, scaling the measurements basedon the known dimensions of the three-dimensional object in the secondimage, and calculating an estimated weight of the animal.

The present invention can be embodied as devices, systems, methods,and/or computer program products. Accordingly, the present invention canbe embodied in hardware and/or in software (including firmware, residentsoftware, micro-code, etc.). Furthermore, the present invention can takethe form of a computer program product on a computer-usable orcomputer-readable storage medium having computer-usable orcomputer-readable program code embodied in the medium for use by or inconnection with an instruction execution system. In one embodiment, thepresent invention can be embodied as non-transitory computer-readablemedia. In the context of this document, a computer-usable orcomputer-readable medium can include, but is not limited to, any mediumthat can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device.

The computer-usable or computer-readable medium can be, but is notlimited to, an electronic, magnetic, optical, electromagnetic, infrared,or semiconductor system, apparatus, device, or propagation medium.

Terminology

The terms and phrases as indicated in quotation marks (“ ”) in thissection are intended to have the meaning ascribed to them in thisTerminology section applied to them throughout this document, includingin the claims, unless clearly indicated otherwise in context. Further,as applicable, the stated definitions are to apply, regardless of theword or phrase's case, to the singular and plural variations of thedefined word or phrase.

The term “or” as used in this specification and the appended claims isnot meant to be exclusive; rather the term is inclusive, meaning eitheror both.

References in the specification to “one embodiment”, “an embodiment”,“another embodiment, “a preferred embodiment”, “an alternativeembodiment”, “one variation”, “a variation” and similar phrases meanthat a particular feature, structure, or characteristic described inconnection with the embodiment or variation, is included in at least anembodiment or variation of the invention. The phrase “in oneembodiment”, “in one variation” or similar phrases, as used in variousplaces in the specification, are not necessarily meant to refer to thesame embodiment or the same variation.

The term “couple” or “coupled” as used in this specification andappended claims refers to an indirect or direct physical connectionbetween the identified elements, components, or objects. Often themanner of the coupling will be related specifically to the manner inwhich the two coupled elements interact.

The term “directly coupled” or “coupled directly,” as used in thisspecification and appended claims, refers to a physical connectionbetween identified elements, components, or objects, in which no otherelement, component, or object resides between those identified as beingdirectly coupled.

The term “approximately,” as used in this specification and appendedclaims, refers to plus or minus 10% of the value given.

The term “about,” as used in this specification and appended claims,refers to plus or minus 20% of the value given.

The terms “generally” and “substantially,” as used in this specificationand appended claims, mean mostly, or for the most part.

Directional and/or relationary terms such as, but not limited to, left,right, nadir, apex, top, bottom, vertical, horizontal, back, front andlateral are relative to each other and are dependent on the specificorientation of an applicable element or article, and are usedaccordingly to aid in the description of the various embodiments and arenot necessarily intended to be construed as limiting.

The term “software,” as used in this specification and the appendedclaims, refers to programs, procedures, rules, instructions, and anyassociated documentation pertaining to the operation of a system.

The term “firmware,” as used in this specification and the appendedclaims, refers to computer programs, procedures, rules, instructions,and any associated documentation contained permanently in a hardwaredevice and can also be flashware.

The term “hardware,” as used in this specification and the appendedclaims, refers to the physical, electrical, and mechanical parts of asystem.

The terms “computer-usable medium” or “computer-readable medium,” asused in this specification and the appended claims, refers to any mediumthat can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. By way of example, and not limitation,computer readable media may comprise computer storage media andcommunication media.

The term “signal,” as used in this specification and the appendedclaims, refers to a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.It is to be appreciated that wireless means of sending signals can beimplemented including, but not limited to, Bluetooth, Wi-Fi, acoustic,RF, infrared and other wireless means.

An Embodiment of a System for Estimating Livestock Weight

Referring to FIG. 1, a block diagram of an embodiment 100 showing asystem for estimating the weight of livestock is shown. The system 100can be implemented to estimate a weight of livestock based on one ormore images of the livestock.

As shown in FIG. 1, the livestock weight estimating system 100 caninclude, but is not limited to, a control module 102 and athree-dimensional object (or tag) 104. The control module 102 can beimplemented to analyze image data and apply one or more algorithms frominformation generated from the image data to estimate a weight of ananimal. The three-dimensional tag 104 can be implemented to provide ascale for the control module 102 to more accurately determinemeasurements from the image data. The system 100 may further include avideo/photograph module 106 and a network 108.

In one embodiment, the control module 102 can represent a computingdevice or another powerful, dedicated computer system that can supportmultiple user sessions. In some embodiments, the control module 102 canbe any type of computing device including, but not limited to, apersonal computer, a game console, a smartphone, a tablet, a netbookcomputer, or other computing devices. In one embodiment, the controlmodule 102 can be a distributed system wherein control module functionsare distributed over several computers connected to a network. Thecontrol module 102 can typically include a hardware platform andsoftware components.

As previously mentioned, the three-dimensional tag 104 can beimplemented to provide a scale for making measurements on livestock whenestimating a weight of the livestock based on images of the livestock.In one embodiment, the three-dimensional tag 104 can have asubstantially “ring” shape with a nearly uniform diameter.

The video/photograph module 106 can be implemented to capture images oflivestock. In one embodiment, the video/photograph module 106 can be adigital camera. In another embodiment, the video/photograph module 106can be a digital video camera. In yet another embodiment, thevideo/photograph module 106 can be a digital camera part of a smartdevice. For instance, a smart phone camera can be implemented to captureboth still images and/or video images. The video/photograph module 106can be operatively connected to the control module 102. In oneembodiment, the video/photograph module 106 can include a networkinterface 107 that can communicate with the control module 102. Thenetwork interface 107 may include hardwired and/or wirelesscommunication protocols to communicate with the control module 102. Insome embodiments, the video/photograph module 106 may include removableflash memory for transferring data to the control module 102.

The network 108 can be any type of network, such as a local areanetwork, wide area network, or the Internet. In some cases, the network108 can include wired or wireless connections and may transmit andreceive information using various protocols.

Referring to FIG. 2, a block diagram of the control module 102 isillustrated. The software components of the control module 102 caninclude one or more databases 110 which can store livestock informationand data. The software components can also include an operating system114 on which various applications 116 can execute. In one embodiment,the control module 102 can include an application dedicated toestimating weight of livestock. For instance, the application can followa process or method similar to the method described hereinafter. Adatabase manager 118 can be an application that runs queries against thedatabase(s) 110. In one embodiment, the database manager 118 can allowinteraction with the database(s) 110 through an HTML user interface on auser device.

The hardware platform of the control module 102 can include, but is notlimited to, a processor 120, random-access memory 122, nonvolatilestorage 124, a user interface 126, and a network interface 128. Theprocessor 120 can be a single microprocessor, multi-core processor, or agroup of processors. The random-access memory 122 can store executablecode as well as data that can be immediately accessible to theprocessor. The nonvolatile storage 124 can store executable code anddata in a persistent state. The user interface 126 can includekeyboards, monitors, pointing devices, and other user interfacecomponents. The network interface 128 can include, but is not limitedto, hardwired and wireless interfaces through which the control module102 can communicate with other devices including, but not limited to,the video/photograph module 106. In some embodiments, the control module102 can include the video/photograph module 106 and can be implementedto capture images of livestock. In such an embodiment, the controlmodule 102 may be a smart device that can also be implemented to analyzethe captured images.

Referring to FIG. 3, a detailed diagram of an example embodiment of theweight estimating system 100 is illustrated. In a typicalimplementation, the video/photograph module 106 can be located remotelyfrom the control module 102. As previously mentioned, the control module102 and the video/photograph module 106 may be combined in a single userdevice. In this example, the video/photograph module 106 will bereferred to as the camera.

As shown, the camera 106 may be placed in a pasture where one or morelivestock animals, in this instance cattle, are located. The camera 106can be configured to continuously or intermittently take video and/orphotographs of cattle as they pass by the camera 106. For instance, thecamera 106 may include a motion detection sensor to activate a videorecording function of the camera 106 when cattle pass by the camera 106.In another instance, the camera 106 may continuously record images andstream those images to the control module 102 for storage. A program orapplication may be implemented to determine when cattle are present in avideo frame or image and store those images while discarding or deletingdata that does not include images of cattle.

Once images of one or more livestock have been obtained, the controlmodule 102 can analyze the images. In one embodiment, a user may sorteach of the images to associate one or more images with each animal thecamera 106 captured. Once a set of images has been associated with aparticular animal, the application can analyze the set of images tocalculate an estimation of a weight of the animal. In anotherembodiment, the application can be configured to identify a uniqueidentifier on each animal. For example, the three-dimensional tag 104may include a unique identifier to allow the application to determinewhich animal is in each image. Of note, other unique identifiers may beused to determine which animals are present in a particular image.

The application can analyze each image taken. Generally, in a firststep, the application can determine where the three-dimensional tag 104is located and determine a diameter of the tag 104. Since thethree-dimensional tag 104 can have a uniform diameter that is thesubstantially the same for each animal, the application can store adistance for the diameter. Once the diameter is determined for aspecific image, the application can use the diameter as a scale for theimage. After the application has taken various measurements betweenpoints of interest, the application can calculate those measurementsusing the scale based on a diameter of the tag 104.

Referring to FIG. 4A, one example embodiment of the three-dimensionaltag 104 is illustrated. As shown, the tag 104 can be a ring shape with asubstantially circular shape. By using a circular ring, the tag 104 canhave a uniform diameter such that any measurement of a diameter of thering would be approximately equal.

Referring to FIG. 4B, another example embodiment of thethree-dimensional tag 104 is illustrated. As shown, the tag can have asubstantially circular shape with a protrusion extending out to allowthe tag to be secured to an ear of an animal. Of note, the tag caninclude a circular reference marking on each side of the tag. The tagmay include one or more alphanumeric characters or other characters tobe implemented as a unique identifier for a particular animal. In someembodiments, the circular reference marking can be colored to allow foreasy identification. As can be appreciated, other shaped tags may beimplemented that include a circular reference pattern.

Referring to FIG. 5, a first embodiment 200 of a method (or process) forgenerating an estimated weight of an animal using the livestock weightestimating system 100 is illustrated. It is to be appreciated that oneor more steps may be included which are not shown in FIG. 5.

The first method 200 can start with block 202.

In block 202, images of one or more livestock animals can be captured.The means for capturing the images can include a variety of differentmeans and types of devices designed to capture images. Typically, thevideo/photographic module 106 can be implemented to capture images. Aspreviously mentioned, the video/photographic module 106 may be any oneof a plurality of different devices designed to capture images. Forinstance, a drone including a video and/or still camera can be used tocapture images of livestock out to pasture. In another instance, acamera device may be placed on a pole or other type of post in alivestock pasture. In yet another instance, a plurality of cameradevices may be implemented to capture images of livestock. As can beappreciated, two or more different types of camera devices may be usedtogether to capture images.

After the images are captured, the images can be processed in block 204.The step of processing images can include one or more of the steps shownin blocks 210-220.

In block 210, the images can be filtered. Typically, a backgroundsubtraction process and/or a process for detecting edges, corners, andblobs can be performed. For instance, background modeling orthresholding can be implemented for background subtraction. Processesincluding, but not limited to, Laplacian of the Gaussian (LoG),Difference of Gaussians (DoG), Sobel operator, Canny edge detector,Smallest univalue segment assimilating nucleus (SUSAN), and Featuresfrom accelerated segment test (FAST) can be implemented to detect edges,corners, and blobs.

In block 212, objects in the images can be detected. For instance, thethree-dimensional tag 104 attached to an animal can be detected.Further, the animal itself can be detected. One or more of a pluralityof processes can be implemented to detect objects in the images.Processes can include, but are not limited to, support vector machines,neural networks, and deep learning to identify objects in the images.

In block 214, after one or more objects in the images have beenidentified, the three-dimensional tag 104 can be measured and anyidentifying marks on the tag 104 can be read. Of note, thethree-dimensional tag 104 can be measured in each image to create ascaling factor for each image. As can be appreciated, measurements takenin each image can be calibrated to other images since thethree-dimensional tag 104 can have pre-defined measurements. Processesfor recognizing text may include, but is not limited to, opticalcharacter recognition.

When identifying marks or characters are included on thethree-dimensional objects 104, the method 200 may include a step forsorting and compiling images having the same three-dimensional tag 104together. For instance, where more than one animal is photographed, themethod 200 can include a step for sorting the images so that each animalis individually analyzed based on images including said animal.

Once the three-dimensional tag 104 has been measured in the images,object dimensions can be calibrated based on a scaling factor in block216. Typically, the scaling factor can be determined based on ameasurement of the three-dimensional tag 104.

In block 218, each animal detected in the images can be constructed intoa three-dimensional (3-D) object (or model). One or more processes canbe implemented to generate the 3-D object. Processes can include, butare not limited to, 3D point cloud methodologies and pose estimationmethodologies. It is to be appreciated that other means or methodologiesof generating three-dimensional models from two-dimensional images arecontemplated.

Once a 3-D model of an animal has been constructed, an estimated weightof the animal can be calculated in block 220. One or more processes canbe implemented to calculate an estimated weight of the animal based onthe 3-D model. Processes can include, but are not limited to: convertingpoint cloud to voxels using octree and sum results; and converting thepoint cloud to a surface mesh, calculating a volumetric mesh based onthe surface mesh, and then summing tetrahedron volumes in the volumetricmesh. In some embodiments, a size and weight database may be implementedto compare the 3-D model of the animal to calculate the weight.

In block 206, data related to the estimated weight of the animal fromthe processed images can be outputted to one or more devices.

In some embodiments, data related to the steps performed in the method200 can be stored for historical reference. For instance, the images, atimestamp for each image, any errors in the processing of the images,detection information (e.g., masked images and identified objects),animal identity, calculated animal weight, and feed can be stored by ina database. In one instance, the data can be stored in the database 110of the control module 102. In another instance, the data can be storedin a remotely located server and/or database.

In some instances, the processing step 204 can be reimplemented when anew image of an animal is obtained. For instance, a camera device maycontinuously send images to the control module 102 for processing. Ifprocessing has already been performed on a plurality of images, themethod 200 may reimplement the processing step 204 to include the newimages of the animal. As can be appreciated, by including new images, amore accurate 3-D model of the animal may be rendered. Typically, aftera new estimated weight has been calculated based on a new image, thepreviously calculated estimated weight may be deleted.

As can be appreciated, one or more reports may be generated from thedata. For instance, a report detailing the weight of animal over timemay be generated. A report for the condition of an animal over time maybe generated. In another instance, a report showing the correlation offeed and weight gain/loss can be generated to help determine a properdiet for a particular animal or animals. In yet another instance, areport including a comparison between reference data and a particularherd or group of animals can be generated.

Referring to FIG. 6, a second embodiment 300 of a method (or process)for generating an estimated weight of an animal using the livestockweight estimating system 100 is illustrated. It is to be appreciatedthat one or more steps may be included which are not shown in FIG. 6.

The second method 300 can start with block 302.

In block 302, images of an animal can be captured similarly to the meansfor capturing images as described in the aforementioned first method200. Of note, at least a top view of an animal and a side view of theanimal can be captured for each animal having a weight estimated forthem.

After the images are captured, the images can be processed in block 304.The step of processing images can include one or more of the steps shownin blocks 310-320. Typically, the second method 300 can include blocks310-314 which include steps and processes substantially similar to thesteps and processes included in blocks 210-214 and can be referencedtherein for more detail regarding blocks 310-314. In block 310, theimages can be filtered. In block 312, objects in the images can bedetected. In block 314, after one or more objects in the images havebeen identified, the three-dimensional tag 104 can be measured and anyidentifying marks on the tag 104 can be read.

In block 316, a plurality of distances between predefinedpoints-of-interest can be measured. Generally, the points-of-interestcan first be determined on the animal in each of the images. Then,measurements between the points-of-interest can be taken. Of note, twoor more points-of-interest can be paired together. Points-of-interestcan include a plurality of different locations on a body of a livestockanimal. Example points-of-interest are shown in FIG. 7 as denoted by an“x” on the cattle. Of note, when estimating a weight of cattle, a sideview and a top view of the animal can typically be used. Although cattleare generally shown in the figures, it is to be appreciated that thesame techniques can be applied to other types of livestock.

In block 318, the measurements made in the previous step can becalibrated. Similar to the previously described first method 100, ascaling factor can be based on the measurement of the three-dimensionalobject 104 in the images. As can be appreciated, measurements in eachimage can be calibrated to increase accuracy of the estimation ofweight.

Once each of the image measurements have been calibrated, a weight ofthe animal can be calculated in block 320. In one instance, a weight canbe calculated based on the measurements taken between thepoints-of-interest. One means for estimating a weight of a cattle is tomeasure (i) a girth of the cattle in relation to a location of a heartof the cattle, and (ii) a length of a body of the cattle. Then, usingthe two measurements, a weight of the cattle can be calculated by theequation:

G ² ×L=W

In the above equation, “G” represents a measurement of the girth of thecattle, “L” represents the length of the body of the cattle, and “W”represents the cattle weight in pounds. Of note, other parameters may beincluded to further refine the above equation. For instance, a scalingfactor can be included that can be based on the type of cattle.Different breeds of cattle have shorter or thicker hair which canintroduce inaccuracies in the above mentioned method of estimating aweight of cattle. As such, the equation may be modified with a scalingfactor based on the breed of the cattle to increase accuracy of theestimated weight.

Referring to FIG. 7, a side view and a top view includingpoints-of-interest on an animal 350 for calculating an estimated weightof the animal is illustrated. As shown in the side view, there can befour (4) points-of-interests, denoted by an “X” in the figure, on theanimal 350. The two points-of-interest located approximate the front ofthe animal 350 and the back of the animal 350 can be a measurement “A”.The two points-of-interest located approximate the bottom of the animal350 and the top of the animal 350 can be a measurement “B”. Of note, themeasurement “A” can be implemented as the length (L) of the animal 350in the previously mentioned equation. Of note, the measurement “A” maybe calibrated with one or more scaling factors to take into account thatthe body of the animal 350 would be curved and not straight. Therefore,a scaling factor may be implemented to increase an accuracy of themeasurement.

As shown in the top view, two points-of-interest denoted by an “X” canbe a measurement “C”. The measurement “C” and the measurement “B” can beimplemented to calculate an approximate girth of the animal 350. As canbe appreciated, the animal 350 can have a substantially ellipticalcross-section. As such, the measurement “C” can be the minor axis of theellipse and the measurement “B” can be the major axis. Based on thosetwo measurements, an approximate girth (G) can be calculated by findinga perimeter of the ellipse. The equation for calculating a perimeter ofan ellipse is well known and not included herein.

Once a measurement for the girth (G) and the length (L) are calculated,an estimated weight can be calculated based on the above equation.

After the estimated weight has been calculated, the data can beoutputted in block 306. The block 306 can be substantially similar tothe block 206 in the first method 200.

Alternative Embodiments and Variations

The various embodiments and variations thereof, illustrated in theaccompanying Figures and/or described above, are merely exemplary andare not meant to limit the scope of the invention. It is to beappreciated that numerous other variations of the invention have beencontemplated, as would be obvious to one of ordinary skill in the art,given the benefit of this disclosure. All variations of the inventionthat read upon appended claims are intended and contemplated to bewithin the scope of the invention.

I claim:
 1. A method for estimating a weight of an animal, the methodcomprising: providing a three-dimensional object having knowndimensions; attaching the three-dimensional object to a first animal;obtaining a plurality of images of the first animal with thethree-dimensional object attached to the first animal; processing theplurality of images, the step of processing including: identifying thethree-dimensional object and the first animal in a first image;measuring a diameter of the three-dimensional object in the first image;calibrating dimensions of the first animal in the first image based onthe three-dimensional object in the first image; identifying thethree-dimensional object and the first animal in a second image;measuring a diameter of the three-dimensional object in the secondimage; calibrating dimensions of the first animal in the second imagebased on the three-dimensional object in the second image; constructinga first 3-D model representing the first animal based on the calibrateddimensions of the first animal in the first image and the second image;calculating a first estimated weight of the first animal based on thefirst 3-D model of the first animal.
 2. The method of claim 1, whereinthe three-dimensional object includes a unique identifier.
 3. The methodof claim 1, wherein the first 3-D model is a point cloud model.
 4. Themethod of claim 1, wherein the first 3-D model is constructed using poseestimation.
 5. The method of claim 1, wherein the three-dimensionalobject is attached to an ear of the first animal.
 6. The method of claim1, the step of processing further comprising the steps of: identifyingthe three-dimensional object and the first animal in a third image;measuring a diameter of the three-dimensional object in the third image;calibrating dimensions of the first animal in the third image based onthe three-dimensional object in the third image; constructing a second3-D model representing the first animal based on the calibrateddimensions of the first animal in the first image, the second image, andthe third image; and calculating a second estimated weight of the firstanimal based on the second 3-D model of the first animal.
 7. The methodof claim 6, the step of processing further comprising the steps of:identifying the three-dimensional object and the first animal in afourth image; measuring a diameter of the three-dimensional object inthe fourth image; calibrating dimensions of the first animal in thefourth image based on the three-dimensional object in the fourth image;constructing a third 3-D model representing the first animal based onthe calibrated dimensions of the first animal in the first image, thesecond image, the third image, and the fourth image; and calculating athird estimated weight of the first animal based on the third 3-D modelof the first animal
 8. The method of claim 7, wherein (i) data relatedto the first estimated weight is deleted after the second estimatedweight is calculated; and (ii) data related to the second estimatedweight is deleted after the third estimated weight is calculated.
 9. Themethod of claim 1, further comprising the steps of: providing a secondthree-dimensional object having known dimensions, the secondthree-dimensional object being a ring with a substantially circularshape; attaching the second three-dimensional object to a second animal;obtaining a plurality of images of the second animal with the secondthree-dimensional object attached to the second animal; processing theplurality of images, the step of processing including: identifying thesecond three-dimensional object and the second animal in a third image;measuring a diameter of the second three-dimensional object in the thirdimage; calibrating dimensions of the second animal in the third imagebased on the second three-dimensional object in the third image;identifying the second three-dimensional object and the second animal ina fourth image; measuring a diameter of the second three-dimensionalobject in the fourth image; calibrating dimensions of the second animalin the fourth image based on the three-dimensional object in the fourthimage; constructing a 3-D model representing the second animal based onthe calibrated dimensions of the second animal in the third image andthe fourth image; calculating an estimated weight of the second animalbased on the 3-D model of the second animal.
 10. The method of claim 1,wherein the three-dimensional object is a ring with a substantiallycircular shape.
 11. The method of claim 1, wherein the three-dimensionalobject includes at least a marking having a substantially circularshape.
 12. A method for estimating a weight of an animal, the methodcomprising: providing a three-dimensional object having knowndimensions; attaching the three-dimensional object to an animal;obtaining a first image and a second image of the animal with thethree-dimensional object attached to the animal, the first image being aside view and the second image being a top view; processing the images,the step of processing including: determining a location of thethree-dimensional object in the first image; determining a diameter ofthe three-dimensional object in the first image; determining a first setof points-of-interest on the animal in the first image; measuringdistances between predefined pairs of the first set ofpoints-of-interest in the first image; scaling the measurements based onthe known dimensions of the three-dimensional object in the first image;determining a location of the three-dimensional object in the secondimage; determining a diameter of the three-dimensional object in thesecond image; determining a second set of points-of-interest on theanimal in the second image; measuring distances between predefined pairsof the second set of points-of-interest in the second image; scaling themeasurements based on the known dimensions of the three-dimensionalobject in the second image; calculating an estimated weight of theanimal.
 13. The method of claim 12, wherein the three-dimensional objectis a ring with a substantially circular shape
 14. The method of claim12, wherein the images are captured by a camera device in the infraredspectrum.
 15. The method of claim 12, the step of processing furtherincluding the steps of: determining a breed of the animal; and adjustingthe estimated weight of the animal based on the breed of the animal.